package org.bbelovic.devel.snake;

import java.awt.Graphics;

/**
 * {@link GameController} instances performs transition from old game state to the new state. This
 * involves all necessary computations and modifications needed for moving from old state to
 * new state.
 */
public interface GameController {

    /**
     * Paints game scene, this includes painting all objects that participates in game
     * and can be painted
     * @param g {@link Graphics} instance which performs painting
     */
    void paintGameScene(Graphics g);
    /**
     * Updates game, performs transition from old game state to new state.
     */
    void update();
}
